package com.meeting.meetingroom_api.dto;

import com.meeting.meetingroom_api.enums.PaymentStatus;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Map;

// DTO for receiving notifications from payment gateway (webhook)
@Data
public class PaymentNotificationDto {
    private String transactionId;       // Gateway's transaction ID
    private String orderId;             // Your system's bookingId or paymentId
    private PaymentStatus status;       // Mapped status from gateway
    private BigDecimal amountPaid;
    private String currency;
    private LocalDateTime paymentTimestamp;
    private String paymentMethodUsed;   // Gateway's representation of payment method
    private String rawPayload;          // The full raw notification payload for auditing/debugging
    private Map<String, String> additionalData; // Any other relevant data from gateway
}